using System;

namespace SdmxMl.UC
{
	/// <summary>
	/// DualListActionEventArgs used for a DualList AfterAction event
	/// </summary>
	public class DualListActionEventArgs : System.EventArgs
	{
		private DualListAction mAction;
		private Object mItem;
		private int mIndex;

		/// <summary>
		/// Constructor
		/// </summary>
		/// <param name="action">Action which triggert this move or copy</param>
		/// <param name="item">Item that is moved/copied</param>
		/// <param name="index">Index of the moved/copied item in the ListBoxTo.Items</param>
		public DualListActionEventArgs(DualListAction action, Object item, int index)
		{
			mAction = action;
			mItem = item;
			mIndex = index;
		}

		/// <summary>
		/// Action which triggert this move or copy
		/// </summary>
		public virtual DualListAction Action
		{
			get { return mAction; }
		}

		/// <summary>
		/// Item that is moved/copied
		/// </summary>
		public virtual Object Item
		{
			get { return mItem; }
		}

		/// <summary>
		/// Index of the moved/copied item in the ListBoxTo.Items
		/// </summary>
		public virtual int Index
		{
			get { return mIndex; }
		}

	}
}
